home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / imr_sx01.zip / SELXFER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-21  |  5KB  |  266 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     String   TSTRING002(20)
  24.     String   TSTRING003(20)
  25.     String   TSTRING004(20)
  26.     String   STRING005
  27.     String   TSTRING006(20)
  28.     String   TSTRING007(20)
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.     String   STRING012
  34.     String   STRING013
  35.     String   STRING014
  36.     String   STRING015
  37.     String   STRING016
  38.     String   STRING017
  39.     String   STRING018
  40.     String   STRING019
  41.     String   STRING020
  42.     String   STRING021
  43.     String   STRING022
  44.     String   TSTRING023(19)
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     STRING005 = ReadLine(PCBDat(), 45)
  49.     TSTRING023(1) = 40
  50.     TSTRING023(2) = 67
  51.     TSTRING023(3) = 41
  52.     TSTRING023(4) = 111
  53.     TSTRING023(5) = 112
  54.     TSTRING023(6) = 121
  55.     TSTRING023(7) = 114
  56.     TSTRING023(8) = 105
  57.     TSTRING023(9) = 103
  58.     TSTRING023(10) = 104
  59.     TSTRING023(11) = 116
  60.     TSTRING023(12) = 32
  61.     TSTRING023(13) = 39
  62.     TSTRING023(14) = 57
  63.     TSTRING023(15) = 52
  64.     TSTRING023(16) = 32
  65.     TSTRING023(17) = 105
  66.     TSTRING023(18) = 77
  67.     TSTRING023(19) = 82
  68.     FOpen 1, PPEPath() + "SELXFER.CFG", 0, 0
  69.     FGet 1, STRING011
  70.     FGet 1, STRING012
  71.     FGet 1, STRING019
  72.     FGet 1, STRING008
  73.     FGet 1, STRING010
  74.     FGet 1, STRING009
  75.     FGet 1, STRING013
  76.     FGet 1, STRING014
  77.     FGet 1, STRING015
  78.     FGet 1, STRING016
  79.     FGet 1, STRING017
  80.     FGet 1, STRING018
  81.     FGet 1, STRING020
  82.     FGet 1, STRING021
  83.     FClose 1
  84.     INTEGER001 = 0
  85.     FOpen 1, PPEPath() + "SELXFER.PRT", 0, 0
  86.     :LABEL001
  87.     Inc INTEGER001
  88.     FGet 1, TSTRING002(INTEGER001)
  89.     If ((TSTRING002(INTEGER001) == "") || (TSTRING002(INTEGER001) == " ")) Goto LABEL002
  90.     FGet 1, TSTRING003(INTEGER001)
  91.     FGet 1, TSTRING004(INTEGER001)
  92.     Goto LABEL001
  93.     :LABEL002
  94.     INTEGER002 = INTEGER001 - 1
  95.     FClose 1
  96.     For INTEGER001 = 1 To INTEGER002
  97.         If ((Len(StripAtx(TSTRING003(INTEGER001))) > STRING015) || (Len(StripAtx(TSTRING004(INTEGER001))) > STRING016)) Goto LABEL006
  98.         TSTRING006(INTEGER001) = Space(STRING015 / 2 - Len(StripAtx(TSTRING003(INTEGER001))) / 2)
  99.         TSTRING006(INTEGER001) = TSTRING006(INTEGER001) + TSTRING003(INTEGER001)
  100.         TSTRING006(INTEGER001) = TSTRING006(INTEGER001) + Space(STRING015 - Len(StripAtx(TSTRING006(INTEGER001))))
  101.         TSTRING007(INTEGER001) = Space(STRING016 / 2 - Len(StripAtx(TSTRING004(INTEGER001))) / 2)
  102.         TSTRING007(INTEGER001) = TSTRING007(INTEGER001) + TSTRING004(INTEGER001)
  103.         TSTRING007(INTEGER001) = TSTRING007(INTEGER001) + Space(STRING016 - Len(StripAtx(TSTRING007(INTEGER001))))
  104.     Next
  105.     TSTRING006(INTEGER001) = Space(STRING015 / 2 - Len(StripAtx(STRING018)) / 2)
  106.     TSTRING006(INTEGER001) = TSTRING006(INTEGER001) + STRING018
  107.     TSTRING006(INTEGER001) = TSTRING006(INTEGER001) + Space(STRING015 - Len(StripAtx(TSTRING006(INTEGER001))))
  108.     If (Exist(PPEPath() + "SELXFER.PCB")) Then
  109.         AnsiPos 1, 1
  110.         DispFile PPEPath() + "SELXFER.PCB", 1
  111.     Endif
  112.     AnsiPos STRING013, STRING014
  113.     Print STRING008
  114.     For INTEGER001 = 1 To INTEGER002 + 1
  115.         AnsiPos STRING013, STRING014 + INTEGER001
  116.         Print STRING010
  117.         AnsiPos STRING013 + 1, STRING014 + INTEGER001
  118.         Print STRING012 + TSTRING006(INTEGER001)
  119.         AnsiPos STRING013 + 1 + STRING015, STRING014 + INTEGER001
  120.         Print STRING019 + STRING017
  121.         AnsiPos STRING013 + 1 + STRING015 + 1, STRING014 + INTEGER001
  122.         Print STRING019 + TSTRING007(INTEGER001)
  123.     Next
  124.     AnsiPos STRING013, STRING014 + INTEGER001
  125.     PrintLn STRING009
  126.     INTEGER004 = 1
  127.     INTEGER003 = 1
  128.     AnsiPos STRING013 + 1, STRING014 + INTEGER003
  129.     Print STRING011 + TSTRING006(INTEGER003)
  130.     :LABEL003
  131.     STRING022 = ""
  132.     STRING022 = Inkey()
  133.     If ((STRING022 == "") || (STRING022 == " ")) Goto LABEL003
  134.     If (STRING022 == Chr(13)) Goto LABEL004
  135.     If ((Upper(STRING022) == "Z") && (INTEGER003 < INTEGER002 + 1)) Inc INTEGER003
  136.     If ((Upper(STRING022) == "A") && (INTEGER003 > 1)) Dec INTEGER003
  137.     If ((STRING022 == "") && (INTEGER003 < INTEGER002 + 1)) Inc INTEGER003
  138.     If ((STRING022 == "") && (INTEGER003 > 1)) Dec INTEGER003
  139.     If ((STRING022 == "DOWN") && (INTEGER003 < INTEGER002 + 1)) Inc INTEGER003
  140.     If ((STRING022 == "UP") && (INTEGER003 > 1)) Dec INTEGER003
  141.     If (INTEGER003 <> INTEGER004) Then
  142.         AnsiPos STRING013 + 1, STRING014 + INTEGER004
  143.         Print STRING012 + TSTRING006(INTEGER004)
  144.         AnsiPos STRING013 + 1, STRING014 + INTEGER003
  145.         Print STRING011 + TSTRING006(INTEGER003)
  146.         INTEGER004 = INTEGER003
  147.     Endif
  148.     Goto LABEL003
  149.     :LABEL004
  150.     If (INTEGER003 == INTEGER002 + 1) Goto LABEL005
  151.     GetUser
  152.     U_Trans = TSTRING002(INTEGER003)
  153.     PutUser
  154.     AnsiPos 1, 22
  155.     OpText StripAtx(TSTRING003(INTEGER003))
  156.     PrintLn STRING020
  157.     Gosub LABEL007
  158.     End
  159.     :LABEL005
  160.     AnsiPos 1, 22
  161.     PrintLn STRING021
  162.     Gosub LABEL007
  163.     End
  164.     :LABEL006
  165.     PrintLn ""
  166.     PrintLn "You have specified a row length thats smaller than"
  167.     PrintLn "the length of a variable to be in that row . please remedy"
  168.     End
  169.     :LABEL007
  170.     Print "@POFF@"
  171.     Color 3
  172.     Print "["
  173.     Color 11
  174.     For INTEGER001 = 1 To 19
  175.         Print Chr(TSTRING023(INTEGER001))
  176.     Next
  177.     Color 3
  178.     Print "]"
  179.     ClrEol
  180.     Delay 8
  181.     Print "@PON@"
  182.     Return
  183.  
  184. ;------------------------------------------------------------------------------
  185. ;
  186. ; Usage report (before postprocessing)
  187. ;
  188. ; ■ Statements used :
  189. ;
  190. ;    3       End
  191. ;    1       ClrEol
  192. ;    3       Color 
  193. ;    15      Goto 
  194. ;    43      Let 
  195. ;    13      Print 
  196. ;    6       PrintLn 
  197. ;    16      If 
  198. ;    1       DispFile 
  199. ;    2       FOpen 
  200. ;    2       FClose 
  201. ;    17      FGet 
  202. ;    1       GetUser
  203. ;    1       PutUser
  204. ;    2       Gosub 
  205. ;    1       Return
  206. ;    1       Delay 
  207. ;    4       Inc 
  208. ;    3       Dec 
  209. ;    1       OpText 
  210. ;    12      AnsiPos 
  211. ;
  212. ;
  213. ; ■ Functions used :
  214. ;
  215. ;    6       /
  216. ;    42      +
  217. ;    7       -
  218. ;    12      ==
  219. ;    1       <>
  220. ;    6       <
  221. ;    3       <=
  222. ;    5       >
  223. ;    6       >=
  224. ;    5       !
  225. ;    12      &&
  226. ;    6       ||
  227. ;    8       Len(
  228. ;    2       Upper()
  229. ;    6       Space()
  230. ;    2       Chr()
  231. ;    9       StripAtx()
  232. ;    1       Inkey()
  233. ;    1       PCBDat()
  234. ;    4       PPEPath()
  235. ;    1       ReadLine()
  236. ;    1       Exist()
  237. ;
  238. ;------------------------------------------------------------------------------
  239. ;
  240. ; Analysis flags : Wd
  241. ;
  242. ; W - Write user ■ 5
  243. ;     Program writes a user record. Although this may be normal for a
  244. ;     User Editor, it may also be a way to modify an account level.
  245. ;     ■ Search for : PUTUSER
  246. ;
  247. ; d - Access PCBOARD.DAT ■ 2
  248. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  249. ;     for many PPE so they can find various informations on the system
  250. ;     (system paths, max number of lines in messages, ...) but it may also
  251. ;     be a way to gather vital informations.
  252. ;     ■ Search for : PCBDAT()
  253. ;
  254. ;------------------------------------------------------------------------------
  255. ;
  256. ; Postprocessing report
  257. ;
  258. ;    3       For/Next
  259. ;    0       While/EndWhile
  260. ;    2       If/Then or If/Then/Else
  261. ;    0       Select Case
  262. ;
  263. ;------------------------------------------------------------------------------
  264. ;                 AEGiS Corp - Break the routines, code against the machines!
  265. ;------------------------------------------------------------------------------
  266.